Andreas Kling

channel image

Andreas Kling

awesomekling

subscribers

Thank you Andrew for hosting!!

Host: Andrew Kaster
=========================================================
Sponsor Andrew on GitHub: https://github.com/sponsors/ADKaster
Follow Andrew on X: https://twitter.com/Ramborambowski

My guest lecture at the University of Utah: https://www.youtube.com/watch?v=zXYNUbyQ0pk

Follow Ladybird on X: https://x.com/ladybirdbrowser

Ladybird is part of SerenityOS on GitHub: https://github.com/SerenityOS/serenity
Come chat with us on Discord: https://discord.gg/serenityos
Funded issues on Polar: https://polar.sh/SerenityOS/issues

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Timestamps:
=========================================================
00:00 Intro
00:14 University of Utah guest lecture
01:00 Living on Ladybird
01:13 Living on: GitHub
03:39 Living on: X
09:10 Single instance UI process
10:29 Asynchronous image decoding
11:50 Task manager
13:13 SVG improvements
13:52 Many new web APIs
14:48 C++ static analysis with libclang
17:45 Some new debugging aides
20:41 Demo: faces.js
22:20 Demo: svgviewer.dev
23:27 Demo: everytimezone.com
23:45 Demo: microsoft.com
26:40 Outro

We just passed 2000 days since the start of the SerenityOS project, and I just love looking at these gource visualizations!

Soundtrack is @KatalinKult's "Ghost Whiskers": https://www.youtube.com/watch?v=Bg4vvcQispc

Generated with Gource:
gource -2560x1440 --title "SerenityOS" --hide progress --max-user-speed 500 --seconds-per-day 0.11 -e 0.01 --bloom-intensity 0.04 --multi-sampling --hide filenames -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -crf 19 -threads 0 -bf 0 output.mp4

I was invited by professor Pavel Panchekha at the University of Utah to speak to his CS 4560 (Web Browser Internals) students about Ladybird, and give a demonstration of real-life browser development. We finished up with a Q&A.

Follow Pavel on X: https://twitter.com/pavpanchekha
Check out the Browser Engineering textbook used by the class: https://browser.engineering/

Thank you Nico for guesting today!

Come chat with us on Discord: https://discord.gg/serenityos
Get the source: https://github.com/SerenityOS/serenity

Fuzzing blog post: https://awesomekling.substack.com/p/fuzzing-ladybird-with-tools-from

Ladybird is part of SerenityOS on GitHub: https://github.com/SerenityOS/serenity
Come chat with us on Discord: https://discord.gg/serenityos
Funded issues on Polar: https://polar.sh/SerenityOS/issues

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Thank you Andrew & Nico for guesting today!

Come chat with us on Discord: https://discord.gg/serenityos
Get the source: https://github.com/SerenityOS/serenity

Ladybird is part of SerenityOS on GitHub: https://github.com/SerenityOS/serenity
Come chat with us on Discord: https://discord.gg/serenityos
Funded issues on Polar: https://polar.sh/SerenityOS/issues

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Big thanks to Jelle for having my back and carrying today's update 😅❤️

SerenityOS is open source on GitHub: https://github.com/SerenityOS/serenity
Follow Jelle on X: https://twitter.com/gmta_nl

Ladybird is part of SerenityOS on GitHub: https://github.com/SerenityOS/serenity
Come chat with us on Discord: https://discord.gg/serenityos
Funded issues on Polar: https://polar.sh/SerenityOS/issues

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Thank you all for 2023!

Come chat with us on Discord: https://discord.gg/serenityos

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Thank you all for 2023!

Come chat with us on Discord: https://discord.gg/serenityos
Get the source: https://github.com/SerenityOS/serenity

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Thanks to special guest @KatalinKult for stopping by :^)

Come chat with us on Discord: https://discord.gg/serenityos

Andreas links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling
Blog: https://awesomekling.substack.com/

Katalin links:
=========================================================
X: https://x.com/katalinkult
YouTube: @KatalinKult
Spotify: https://open.spotify.com/artist/5cFAQ...
Instagram: https://www.instagram.com/katalinkult/
Blog: https://katalinkult.substack.com/

Going faster, one step at a time :^)
PR: https://github.com/SerenityOS/serenity/pull/22058

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

Check out our funded issues on Polar: https://polar.sh/SerenityOS

My links:
=========================================================
Twitter: https://twitter.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling

Timestamps:
=========================================================
00:00 WHF! Intro
00:15 Funding issues with Polar
04:17 JavaScript JIT compiler
06:52 JavaScript JIT performance
08:15 Painting changes
08:54 Painting on the GPU
10:53 Sandboxed image decoding
11:52 New CSS properties
12:38 Miscellaneous LibWeb things
14:12 AppKit chrome is now default on macOS
15:11 Demo!
15:24 Demo: reddit.com
16:05 Demo: react.dev
16:42 Demo: signal.org
17:27 Demo: shopify.com
18:54 Demo: polar.sh/SerenityOS
19:39 Demo: jpegxl.info/jxl-art.html
20:47 Outro

PR: https://github.com/SerenityOS/serenity/pull/21822

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

Martin's video about property-based testing: https://www.youtube.com/watch?v=WD1a-HVFRn0

Discord: https://discord.gg/serenityos
SerenityOS: https://github.com/SerenityOS/serenity

My links:
=========================================================
X: https://x.com/awesomekling
GitHub Sponsors: https://github.com/sponsors/awesomekling
Patreon: https://patreon.com/awesomekling
PayPal: https://paypal.me/awesomekling

Kraken/ai-astar.js go brr
PR: https://github.com/SerenityOS/serenity/pull/21910

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

00:00 Intro / Task of the day
02:14 Fast path for loose equality checks
14:40 Fast path for Array.length
35:55 What next? Profile & analysis
46:55 Outro

Sometimes we have to do a little cleanup before continuing with the main work :^)

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

Let's start dealing with exceptions right away instead of accumulating more FIXMEs about them :^)

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

MAKE DUMB LOOP GO FAST

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

00:00 Intro / Task of the day
02:50 Increment fast path
29:05 LessThan fast path
1:01:04 Multi-jump assembler labels
1:08:29 Reflections / Outro

Let's churn out JIT code until something runs! :^)

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

00:00 Intro / Task of the day
02:05 Compiling each function only once
08:05 Printing JIT success
10:00 Looking at what instructions to implement
10:35 ToNumeric
14:05 ResolveThisBinding
19:08 GetByValue
27:08 Decrement
29:16 GetGlobal
35:59 PutById
47:14 Discovering a register collision
48:20 Preserving callee-saved registers
50:57 Back to the register collision
53:03 PutById, continued
55:37 NewObject
58:30 Did we improve performance?
1:01:45 Call
1:19:09 Not (and other unary instructions)
1:23:45 Checking coverage on other tests so far
1:25:41 Reflections / Outro

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

Follow me on X: https://x.com/awesomekling
Sponsor me on GitHub: https://github.com/sponsors/awesomekling
Support me on Patreon: https://patreon.com/awesomekling
Donate via PayPal: https://paypal.me/awesomekling

Discord: https://discord.gg/serenityos
Merch: https://store.serenityos.org/

SerenityOS is a new operating system that we're building from scratch. https://serenityos.org
Ladybird is a cross-platform web browser, also part of the SerenityOS project. :^)

00:00 WHF
00:08 Pull request adding "throw" keyword
02:25 Task of the day
03:55 Add, Sub, Mul, Div
09:57 Return statements
19:00 String literals
27:55 Let's do all the binary ops
36:45 Looking for inspiration in SunSpider
38:50 Simple object property access (Get)
1:00:43 Reflections / Outro

SHOW MORE

Created 3 years, 4 months ago.

27 videos

Category Science & Technology

Hello friends! I'm building SerenityOS, a new from-scratch graphical operating system for desktop computers.